	function MyPlane(){//我的飞机
		if(!MyPlane.instance){//判断我的飞机是否存在，不在，则产生一个
			MyPlane.instance={
				body : document.createElement("div"),//创建div
	 		 	count:0,
	 		 	num:document.getElementById("s2"),
				show:function(){//显示飞机
					this.init();//初始化
					this.addListener({
						type:"mouse"
					});//事件监听。鼠标和键盘
					this.fire();
				},
				init:function(){
					this.body.className="my-warplain";
					this.body.style.bottom=0;
					//把飞机添加到游戏当中
					new GameEngine().append(this);
						this.body.style.left = new GameEngine().width()/2 - this.width()/2 + "px";//放在底部的中间，所以等于背景图的一半减去飞机的一半	
				},
				addListener:function(options){//监听事件键盘和鼠标
					//利用switch
					switch(options.type){
						case "key" :{ //键盘
							document.addEventListener("keydown",function(e){
								var e=e||event;
								var code=e.keyCode||e.which;
								var mp=new MyPlane();
								if(code==37){//我左走
									mp.left(Math.max(0,mp.left()-8));//向左走并设置边界
								}else  if(code == 39) {
										mp.left( Math.min(new GameEngine().width()- mp.width() ,mp.left()+8) );
									}
							});
							break;
						}
						case "mouse" : {//鼠标
							new GameEngine().body.addEventListener("mousemove",function(e){
								var e=e||event;
								var _left=e.clientX-new GameEngine().left()-new MyPlane().width()/2;
								 
								new  MyPlane().left(Math.min(new GameEngine().width()-new MyPlane().width(),Math.max(0,_left)) );
							});
							break;
						}
					}
					
				},
				move:function(){//移动
					
				},
				fire:function(){//发射子弹
					setInterval(function(){//定时器，根据所选择的难度来判断子弹的发射速度，所以用自定义属性，level；
						new Bullet().init().move();
						this.num.innerHTML=this.count++;
					}.bind(this),new GameEngine().level*100);
				},
				width:function(){//宽的方法
					return this.body.offsetWidth;
				},
				left:function(val){//left的方法
					if(val||val==0){
						this.body.style.left=val+"px";
					}
					return this.body.offsetLeft;
				},
				height:function(){//高的方法
					return this.body.offsetHeight;
				}
			}
		}
		return MyPlane.instance;
	}